// 测试Symbol的部分类方法

// Symbol.for(key)
// 会根据给定的键 key，来从运行时的 symbol 注册表中找到对应的 symbol，
// 如果找到了，则返回它，
// 否则，新建一个与该键关联的 symbol，并放入全局 symbol 注册表中
let idSymbol = Symbol.for('id');
console.log( idSymbol, typeof idSymbol );

let another = Symbol.for('id');
console.log( another, typeof another );

console.log( another === idSymbol ); // true

// Symbol.keyFor(symbol)
// 用来获取全局 symbol 注册表中与某个 symbol 关联的键
let key = Symbol.keyFor(idSymbol);
console.log( key );

// 参考文档:
// https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol/for
// https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol/keyFor